package com.handc.springcloud.controller;



import com.handc.springcloud.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;

@RestController
public class DeptConsumerController {

    //理解 消费者,不应该有service层
    // RestTemplate ....... 供我们直接调用就可以!
    //要注册到Spring中
    //(url,实体: map , Class<T> responseType)

    @Autowired
    private RestTemplate restTemplate; //提供多种便捷访问远程http服务的方法,简单的restful服务模版
    //通过Ribbon实现时候 这里地址是一个变量, 通过服务名来访问
    private static final String REST_URL_PREFIX="http://SPRINGCLOUD-PROVIDER-STUDENT";


    @RequestMapping("/consumer/stu/add")
    public boolean add(Student student){
        return restTemplate.postForObject(REST_URL_PREFIX+"/stu/add/",student,Boolean.class);
    }

    @RequestMapping("/consumer/stu/get/{id}")
    public Student get(@PathVariable("id") Long id){
        return restTemplate.getForObject(REST_URL_PREFIX+"/stu/get/"+id,Student.class);
    }

    @RequestMapping("/consumer/stu/list")
    public List<Student> list(){
        return restTemplate.getForObject(REST_URL_PREFIX+"/stu/list/",List.class);
    }

}
